/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.util.bdfparser.enums.cardeums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 单元类卡片
 */
@Getter
@AllArgsConstructor
public enum ElementCardEnums implements CardName{
    // massses
    CONM1("CONM1"), CONM2("CONM2"),
    CMASS1("CMASS1"), CMASS2("CMASS2"), CMASS3("CMASS3"), CMASS4("CMASS4"),

    // nsms
    NSM("NSM"), NSM1("NSM1"), NSML("NSML"), NSML1("NSML1"),

    // springs
    CELAS1("CELAS1"), CELAS2("CELAS2"), CELAS3("CELAS3"), CELAS4("CELAS4"),  CELAS5("CELAS5"),
    // bushings
    CBUSH("CBUSH"), CBUSH1D("CBUSH1D"), CBUSH2D("CBUSH2D"),
    // dampers
    CDAMP1("CDAMP1"), CDAMP2("CDAMP2"), CDAMP3("CDAMP3"), CDAMP4("CDAMP4"), CDAMP5("CDAMP5"), CFAST("CFAST"),

    // regular elements todo: 补充
    CBAR("CBAR"), CBARAO("CBARAO"), BAROR("BAROR"),
    CROD("CROD"), CTUBE("CTUBE"), CBEAM("CBEAM"), CBEAM3("CBEAM3"), CONROD("CONROD"), CBEND("CBEND"), BEAMOR("BEAMOR"),
    CTRIA3("CTRIA3"), CTRIA6("CTRIA6"), CTRIAR("CTRIAR"),
    CQUAD4("CQUAD4"), CQUAD8("CQUAD8"), CQUADR("CQUADR"), CQUAD("CQUAD"),
    CTRAX3("CTRAX3"), CTRAX6("CTRAX6"), CTRIAX("CTRIAX"), CTRIAX6("CTRIAX6"), CQUADX("CQUADX"), CQUADX4("CQUADX4"), CQUADX8("CQUADX8"),
    CTRSHL("CTRSHL"), CQUAD1("CQUAD1"),
    SNORM("SNORM"),
    CWELD("CWELD"),

    // plate strain
    CPLSTN3("CPLSTN3"), CPLSTN4("CPLSTN4"), CPLSTN6("CPLSTN6"), CPLSTN8("CPLSTN8"),
    // plate stress
    CPLSTS3("CPLSTS3"), CPLSTS4("CPLSTS4"), CPLSTS6("CPLSTS6"), CPLSTS8("CPLSTS8"),

    // acoustic
    CHACAB("CHACAB"), CAABSF("CAABSF"), CHACBR("CHACBR"),
    PACABS("PACABS"), PAABSF("PAABSF"), PACBAR("PACBAR"), ACMODL("ACMODL"),
    CTETRA("CTETRA"), CPYRAM("CPYRAM"), CPENTA("CPENTA"), CHEXA("CHEXA"),
    CIHEX1("CIHEX1"), CIHEX2("CIHEX2"), CHEXA1("CHEXA1"), CHEXA2("CHEXA2"),
    CSHEAR("CSHEAR"), CVISC("CVISC"), CRAC2D("CRAC2D"), CRAC3D("CRAC3D"),
    CGAP("CGAP"),
    GENEL("GENEL"),

    // rigid elements
    RBAR("RBAR"), RBAR1("RBAR1"), RBE1("RBE1"), RBE2("RBE2"), RBE3("RBE3"), RROD("RROD"), RSPLINE("RSPLINE"), RSSCON("RSSCON"),

    // plotels
    PLOTEL("PLOTEL");



    private final String name;
}
